package com.spa.infrastructure.repository.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 订单表(OrderInfo)实体类
 *
 * @author lig
 * @since 2024-02-21 17:11:42
 */
@Data
@TableName("s_order_info")
public class OrderInfoPO extends GenericPO {


    /**
     * 订单编号
     */
    @TableField(value = "order_code")
    private String orderCode;


    /**
     * 用户ID
     */
    @TableField(value = "user_id")
    private Long userId;


    /**
     * 用户名称
     */
    @TableField(value = "user_name")
    private String userName;

    /**
     * 用户手机号
     */
    @TableField(value = "user_phone")
    private String userPhone;

    /**
     * 门店ID
     */
    @TableField(value = "shop_id")
    private Long shopId;


    /**
     * 门店名称
     */
    @TableField(value = "shop_name")
    private String shopName;


    /**
     * 门店手机号
     */
    @TableField(value = "shop_phone")
    private String shopPhone;


    /**
     * 项目ID
     */
    @TableField(value = "service_id")
    private Long serviceId;


    /**
     * 项目名称
     */
    @TableField(value = "service_name")
    private String serviceName;


    /**
     * 技师ID
     */
    @TableField(value = "massagist_id")
    private Long massagistId;


    /**
     * 技师名称
     */
    @TableField(value = "massagist_name")
    private String massagistName;

    /**
     * 技师手机号
     */
    @TableField(value = "massagist_phone")
    private String massagistPhone;


    /**
     * 订单状态：10 未支付 20 待接单 30 进行中 40 已完成 99 已取消
     */
    @TableField(value = "status")
    private Integer status;


    /**
     * 是否转单 0否 1是
     */
    @TableField(value = "is_transfer")
    private Integer isTransfer;


    /**
     * 订单操作状态：31 已接单 32 已出发 33 已到达 34 服务中 35 服务完成
     */
    @TableField(value = "order_oper_status")
    private Integer orderOperStatus;


    /**
     * 准确位置
     */
    @TableField(value = "exact_location")
    private String exactLocation;


    /**
     * 订单来源
     */
    @TableField(value = "source")
    private String source;


    /**
     * 订单数量
     */
    @TableField(value = "order_count")
    private Integer orderCount;


    /**
     * 订单金额，单位:分
     */
    @TableField(value = "order_price")
    private Integer orderPrice;


    /**
     * 出行费用金额，单位:分
     */
    @TableField(value = "travel_price")
    private Integer travelPrice;


    /**
     * 出行距离
     */
    @TableField(value = "travel_dist")
    private String travelDist;


    /**
     * 出行方式
     */
    @TableField(value = "travel_type")
    private String travelType;


    /**
     * 支付方式
     */
    @TableField(value = "price_type")
    private String priceType;


    /**
     * 预约时间
     */
    @TableField(value = "appoint_time")
    private Date appointTime;


    /**
     * 到期时间
     */
    @TableField(value = "expiry_time")
    private Date expiryTime;


    /**
     * 服务地址ID
     */
    @TableField(value = "address_id")
    private Long addressId;


    /**
     * 技师到达时间
     */
    @TableField(value = "arrive_time")
    private Date arriveTime;


    /**
     * 技师出发时间
     */
    @TableField(value = "depart_time")
    private Date departTime;


    /**
     * 技师接单时间
     */
    @TableField(value = "take_time")
    private Date takeTime;


    /**
     * 服务开始时间
     */
    @TableField(value = "start_time")
    private Date startTime;


    /**
     * 服务结束时间
     */
    @TableField(value = "end_time")
    private Date endTime;


    /**
     * 取消说明
     */
    @TableField(value = "cancel_reason")
    private String cancelReason;


    /**
     * 订单备注
     */
    @TableField(value = "remark")
    private String remark;


    /**
     * 是否有效 0 有效 1无效
     */
    @TableField(value = "is_del")
    private Integer isDel;


    /**
     * 扩展字段1
     */
    @TableField(value = "extend1")
    private String extend1;


    /**
     * 扩展字段2
     */
    @TableField(value = "extend2")
    private String extend2;


    /**
     * 扩展字段3
     */
    @TableField(value = "extend3")
    private String extend3;


    /**
     * 扩展字段4
     */
    @TableField(value = "extend4")
    private String extend4;


    /**
     * 扩展字段5
     */
    @TableField(value = "extend5")
    private String extend5;


    /**
     * 优惠券ID
     */
    @TableField(value = "ticket_id")
    private Long ticketId;

    /**
     * 取消时间
     */
    @TableField(value = "cancel_time")
    private Date cancelTime;


    /**
     * 支付时间
     */
    @TableField(value = "pay_time")
    private Date payTime;


    /**
     * 子状态，10 表示未支付；20表示已支付
     */
    @TableField(value = "sub_status")
    private Integer subStatus;

    /**
     * 技师提现ID
     */
    @TableField(value = "massagist_withdraw_id")
    private Long massagistWithdrawId;

    /**
     * 门店提现ID
     */
    @TableField(value = "shop_withdraw_id")
    private Long shopWithdrawId;

    @TableField(value = "total_amount", exist = false)
    private Long totalAmount;

}

